package leetcode_动态规划._01斐波那契数列;

/**
 * 打家劫舍
 * 算法：
 *   动态规划
 *   前 i 个中的最大数
 *   第 i 个的取值和 i - 1 与 i - 2 有关
 *   i = Math.max(i + i - 2, i - 1)
 *   dp[i] = max(dp[i - 2] + nums[i], dp[i - 1])
 */
public class _198 {

    public int rob(int[] nums) {
        int pre1 = 0, pre2 = 0;
        for (int num : nums) {
            int tem = pre2;
            pre2 = Math.max(num + pre1, pre2);
            pre1 = tem;
        }
        return pre2;
    }
}
